package classesBD;

import aplicacao.funcoes;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Pessoal
 */
public class Local implements tabela{
  private int idLocal;
  private String cidade;
  private String pais;

  public Local(String cidade, String pais) {
    this.cidade = cidade;
    this.pais = pais;
  }

  public Local() {
  }
  
  

  @Override
  public int insere(boolean checaExistencia) {
    if (checaExistencia){
      idLocal = existe(cidade+";"+pais);
    }  
    if (idLocal == 0){ 
        try {
            String[] campos = new String[3];
            campos[0] = "default";
            campos[1] = cidade;
            campos[2] = pais;
            String query = funcoes.montaInsert("LOCAL", campos);
            idLocal = Conexao.executa(query, true);
            Conexao.fecha();
        } catch (SQLException ex) {
            Logger.getLogger(Local.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    return idLocal;
  }

  @Override
  public void buscaPorId(int id) {
    throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  }

  @Override
  public void buscaPorNome(String nome) {
    throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  }

  @Override
  public boolean preencheAttr(String attr, String valor) {
    throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  }

  @Override
  public String existe(int id) {
    throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  }

  @Override
  public int existe(String nome) {
    String[] busca = nome.split(";");
    if (busca.length < 2){
      throw new UnsupportedOperationException("O métodos existe da classe local requer um parâmetro do tipo cidade;pais");
    };
    String query = "SELECT IDLOCAL FROM LOCAL WHERE CIDADE=" + funcoes.quotedStr(busca[0]) + " AND PAIS = " + funcoes.quotedStr(busca[1]); 
    String[][] retorno = Conexao.pesquisa(query, 1);
    if (retorno.length > 0){
      return Integer.parseInt(retorno[0][0]);
    }else{
      return 0;
    }
  }

  public int getIdLocal() {
    return idLocal;
  }
  
  
}
